﻿<!doctype html>
<html lang="fr">

	<head>
		<meta charset="utf-8">

		<title>Application web dédiée à l’analyse des microcèbes</title>

		<meta name="description" content="">
		<meta name="author" content="">

		<meta name="apple-mobile-web-app-capable" content="yes" />
		<meta name="apple-mobile-web-app-status-bar-style" content="black-translucent" />

		<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">

		<link rel="stylesheet" href="css/reveal.min.css">
		<link rel="stylesheet" href="css/theme/sky.css" id="theme">

		<!-- For syntax highlighting -->
		<link rel="stylesheet" href="lib/css/zenburn.css">

		<!-- If the query includes 'print-pdf', use the PDF print sheet -->
		<script>
			document.write( '<link rel="stylesheet" href="css/print/' + ( window.location.search.match( /print-pdf/gi ) ? 'pdf' : 'paper' ) + '.css" type="text/css" media="print">' );
		</script>

		<!--[if lt IE 9]>
		<script src="lib/js/html5shiv.js"></script>
		<![endif]-->
	</head>

	<body>

		<div class="reveal">

			<!-- Any section element inside of this container is displayed as a slide -->
			<div class="slides">
				<section>
					<h3>Université Montpellier II</h3>
					<br>
					<h4>TER</h4>
					<h3>Application web dédiée à l’analyse des microcèbes</h3>
					<br />
					<p>
						<table width="100%"><tr><td width="50%"><small><strong>Etudiants :</strong><br />
							Jean GENOT<br />
							Matthieu KAPETANOS<br />
							Abderrazzak LOUKILI<br />
							Paul NICOLAS</small><br />
							</td><td style="text-align:right;"><small><strong>Tuteurs :</strong><br />
							<br>
							Annie CHATEAU<br />
							Anne-Muriel CHIFOLLEAU<br />
							Corinne LAUTIER</small></td></tr>
						</table>
					</p>
					<p>
						<img src="img/mmdn.png" height="100" style="border:0;">
						<img src="img/ufrmontp.jpg" height="100" style="border:0;margin-left:4%;margin-right:4%;">
						<img src="img/um2.jpg" height="100" style="border:0;">
					</p>
					
					<aside class="notes">
						Paul
					</aside>
				</section>

				<section>
					<h2>Plan</h2>
					<br>
					<ol>
						<li>Analyse de l'existant - Rétro-ingénierie</li>
						<li>Correction de l'existant</li>
						<li>Accessibilité de l'application</li>
						<li>Portage sur le serveur</li>	
					</ol>
					
					<aside class="notes">
						Paul
					</aside>
				</section>
				
				<section>
					<h2>Analyse de l'existant</h2>
					<br>
					<ul>
						<li>Prise en main de l'application</li>
							<ul>- Documents utiles à la rétro-ingénierie : rapports, schémas de conception, code source.</ul>
							<ul>- Technologies utilisées : PHP, PostgreSQL, Ajax, Perl.</ul>
						<li>Analyse du code</li>
							<ul>- Code PHP en "deux parties" : Saisie et Recherche.</ul>
							<ul>- Base de données PostgreSQL contient les informations sur les microcèbes et les tests effectués.</ul>
							<ul>- Scripts Perl dédiés à l'importation de données.</ul>
						<li>Expression des besoins</li>
							<ul>- Appliquer des correctifs (cachier des charges).</ul>
					</ul>
					
					<aside class="notes">
						Jean
					</aside>
				</section>
				
				<section>
					<h2>Correction de l'existant</h2>
					<br>
					<ul>
						<li>Travail de portabilité de l'application</li>
						<li>Identification de bogues et corrections apportées</li>
					<aside class="notes">
						Paul
					</aside>
				</section>

				<section>
					<h3>Portabilité de l'application</h3>
					<br>
					<ul>
						<li>Correction des chemins relatifs &amp; absolus</li>
						<li>Factorisation de code</li>
						  <ul>
						      <li>Chemin racine</li>
						      <li>Connexion base de données uniformisée</li>
						  </ul>
					</ul>
					
					<aside class="notes">
						Paul : correction de chemins relatifs et absolus, factorisation de code : connexion base de données :un seul appel de connexion au lieu de plus de 120
					</aside>
				</section>
				
				<section>
					<h3>Correctifs</h3>
					<br>
					<ul>
						<li>Amélioration interface</li>
						<li>Lisibilité</li>
						<li>Modification légère structure base de données</li>
<br><br>
						<li class="fragment">Fichier config</li>
						<li class="fragment">jQuery Plug-ins</li>
					</ul>

					<aside class="notes">
						Mat
						unité, recherche, saisie, jquery (tablesorter, datepicker, keypad), validation HTML5
						repetition de code, factorisation, singleton, besoins non demande explicitement on etait traite
					</aside>
				</section>
				
				<section>
					<h2>Gestion des données</h2>
					<br>
					<ul>
						<li>Gestion de comptes utilisateurs</li>
							<p>
						<img src="img/mld.png" height="450px" width="700px" style="border:0;">
					
					</p>
					</ul>
					
					<aside class="notes">
						Abdel
						droits plus détaillée
					</aside>
				</section>
				<section>
					<h2>Gestion des données</h2>
					<br>
					<ul>
						<li>Gestion de comptes utilisateurs</li>
							<p>
					<img src="img/droit.png" height="350px" width="600px" style="border:0;">
					<img src="img/droits.png" height="200px" width="600px" style="border:0;margin-top:0;
					padding-top: 0 ">
					</p>
					</ul>
					
					<aside class="notes">
						Abdel
						droits plus détaillée
					</aside>
				</section>
				
					<section>
					<h2>Gestion des données</h2>
					<br>
					<ul>
						
						<li>Visibilité des données</li>
					</ul>
					
					<aside class="notes">
						Abdel
						droits plus détaillée
					</aside>
				</section>
				
				
				
				
				
				<section>
					<h2>Déploiement serveur</h2>
					<br>
					<ul>
						<li>Mise en place du serveur</li>
							<ul>- Configuration d'un RAID0</ul>
							<ul>- Ubuntu Server 12.04 x64</ul>
						<li>Installation des outils</li>
							<ul>- Apache2, PostgreSQL, PHPPgAdmin, PHP5 et d'autres.</ul>
						<li>Déploiement et maintenance de l'application</li>
							<ul>- Utilisation d'un script shell pour le déploiement automatique. </ul>
							<ul>- Tâche automatique via CRON pour le backup des données. </ul>
						<li>Accès via le web</li>
							<ul>- Ouverture du port 80 : HTTP </ul>

					</ul>
					
					<aside class="notes">
						Jean
					</aside>
				</section>

				<section>
					<h2>Perspective</h2>
					<br>
					<ul>
						<li class="fragment">Implémenter un Framework</li>
						<li class="fragment">Interface graphique</li>
						<li class="fragment">Reprendre à zéro</li>
					</ul>
					
					<aside class="notes">
						Mat
						dire à l'oral pour base de données, à priori bien fait, à revoir la structure
					</aside>
				</section>
				
				<section>
					<h2>Bilan</h2>
					<br>
					<ul>
						<li>PostgreSQL</li>
						<!--<li>Perl</li>-->
						<li>Gestion de projet</li>
					</ul>
					
					<aside class="notes">
						Abdel
					</aside>
				</section>
				
				<section>
					<h2>Démonstration</h2>
					<br>
					<p><a href="http://162.38.195.209" target="_blank">162.38.195.209</a></p>
					
					<aside class="notes">
						TOUT LE MONDE
					</aside>
				</section>
				
				<section>
					<p>Merci de votre attention</p>
					<br><br><br><br>
					<h3>Questions?</h3>
				</section>

			</div>

		</div>

		<script src="lib/js/head.min.js"></script>
		<script src="js/reveal.min.js"></script>

		<script>

			// Full list of configuration options available here:
			// https://github.com/hakimel/reveal.js#configuration
			Reveal.initialize({
				controls: false,
				progress: true,
				history: true,
				center: false,

				theme: Reveal.getQueryHash().theme, // available themes are in /css/theme
				transition: Reveal.getQueryHash().transition || 'default', // default/cube/page/concave/zoom/linear/fade/none

				// Parallax scrolling
				// parallaxBackgroundImage: 'https://s3.amazonaws.com/hakim-static/reveal-js/reveal-parallax-1.jpg',
				// parallaxBackgroundSize: '2100px 900px',

				// Optional libraries used to extend on reveal.js
				dependencies: [
					{ src: 'lib/js/classList.js', condition: function() { return !document.body.classList; } },
					{ src: 'plugin/markdown/marked.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
					{ src: 'plugin/markdown/markdown.js', condition: function() { return !!document.querySelector( '[data-markdown]' ); } },
					{ src: 'plugin/highlight/highlight.js', async: true, callback: function() { hljs.initHighlightingOnLoad(); } },
					{ src: 'plugin/zoom-js/zoom.js', async: true, condition: function() { return !!document.body.classList; } },
					{ src: 'plugin/notes/notes.js', async: true, condition: function() { return !!document.body.classList; } }
				]
			});

		</script>

	</body>
</html>
